Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

salvage points shop #2510

Merged
merged 10 commits into from
Dec 27, 2024
Merged

Conversation

deltanedas
Copy link
Member

@deltanedas deltanedas commented Dec 22, 2024

About the PR

reworked the salvage vendor to be a shop that gives you items in exchange for mining points
2 new things added for it:

  • conscription duffel bag, contains everything you need to draft a tider
  • gar mesons, mesons in the shape of gar glasses

moved old gear like pka and pickaxe into the lockers so you don't have to buy them
also gave salv mesons roundstart, they had welders but no eye protection very nice

more stuff like shelter capsules later

Why / Balance

everything in it is tg parity with the following additions:

  • seismic charge for 250
  • grappling gun for 300
  • the slower mining hardsuit for 3k

reward people for mining and they will probably mine harder

Technical details

  • added ShopVendorComponent, its like VendingMachineComponent but instead of using stock it takes a currency controlled by events
  • added PointsVendorComponent, makes a shop vendor use mining points
  • added ShopInventoryPrototype to store listings

because VendingMachine is god component a bunch of stuff had to be duplicated which is great

Media

12:06:23

get in were going to lavaland
12:19:11

too poor to get crusher its over
01:30:04

Requirements

  • I have tested all added content and changes.
  • I have added media to this PR or it does not require an ingame showcase.

Breaking changes

removed and migrated away salvage vendor restocks, since it is no longer a vending machine

Changelog
🆑

  • add: The Salvage Vendor now lets you buy cool things for mining points.
  • tweak: The old salvage gear now comes in the lockers.

@deltanedas deltanedas requested a review from a team December 22, 2024 13:04
@github-actions github-actions bot added size/L 256-1023 lines Changes: YML Changes any yml files Changes: UI Changes: C# Changes any cs files Changes: Localization Changes any ftl files S: Needs Review and removed size/L 256-1023 lines labels Dec 22, 2024
@github-actions github-actions bot added the size/L 256-1023 lines label Dec 22, 2024
@Avalon-Proto
Copy link
Contributor

Cannot wait to see this active in game. Though possibly here's a few suggestions for extra bits to stick in there

  • MREs, as a basic food option
  • Emergency Pens, to stabilize the stupid salvager who stepped into lava
  • Standard Mining suits. Cause if you are mining you aren't as likely to find em

@deltanedas
Copy link
Member Author

tg has survival pens which ill port later (epipen does next to nothing if you arent crit), but ill add funny suits too

@deltanedas deltanedas mentioned this pull request Dec 22, 2024
2 tasks
@deltanedas deltanedas marked this pull request as ready for review December 22, 2024 16:23
@deltanedas deltanedas requested review from a team as code owners December 22, 2024 16:23
@Lyndomen
Copy link
Contributor

Direction review 24 hours

@ThataKat
Copy link
Contributor

Okie dokie, we'd like to do a test merge on this (and the voucher PR), but can we wait until after the 26th? There's gonna be events and direction will be a little low on manpower, so it would be tough to monitor.

@deltanedas
Copy link
Member Author

sure

Comment on lines +8 to +9
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused

VendingContents.SearchBar = SearchBar;
VendingContents.DataFilterCondition += DataFilterCondition;
VendingContents.GenerateItem += GenerateButton;
VendingContents.ItemKeyBindDown += (args, data) => OnItemSelected?.Invoke(((ShopVendorListingData) data).Index);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can discard args

UpdateBalance(_vendor.GetBalance(_owner, user));
}

private bool DataFilterCondition(string filter, ListData data)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a reason why this cant be static

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copypasta

Comment on lines +47 to +51
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan NextDeny;

[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan NextEject;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

real

/// Another component must handle <see cref="ShopVendorBalanceEvent"/> and <see cref="ShopVendorPurchaseEvent"/> to work.
/// </summary>
[RegisterComponent, NetworkedComponent, Access(typeof(SharedShopVendorSystem))]
[AutoGenerateComponentState, AutoGenerateComponentPause]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

>adds the AutoGenerateComponentPause attribute
>doesnt mark any fields as AutoPaused

@ThataKat
Copy link
Contributor

Thanks for the patience, feel free to go ahead and merge this if it's ready. We'll keep a close eye on it in game and see how people feel

@deltanedas deltanedas merged commit afe588d into DeltaV-Station:master Dec 27, 2024
31 checks passed
@deltanedas deltanedas deleted the point-shop-ops branch December 27, 2024 03:06
@deltanedas
Copy link
Member Author

the draft is coming

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: UI Changes: YML Changes any yml files S: Needs Review size/L 256-1023 lines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants